package com.yqyd.nbot.domain;

import java.util.Date;
import java.util.Objects;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.experimental.Accessors;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.yqyd.common.annotation.Excel;
import com.yqyd.common.core.domain.BaseEntity;

/**
 * 九号 - 活动报名对象 nbot_activity_registrations
 * 
 * @author Dhq
 * @date 2025-08-25
 */
@Data
@Accessors(chain = true)
public class NbotActivityRegistrations
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 活动ID */
    private Long activityId;

    /** 报名用户ID */
    private Long userId;

    /** 真实姓名 */
    private String realName;

    /** 联系电话 */
    private String phone;

    /** 支付金额(元) */
    private Integer paymentAmount;

    /** 支付状态：1待支付，2已支付，3已退款 */
    private Integer paymentStatus;

    /** 报名状态：1待审核，2已确认，3已拒绝，4已取消 */
    private Integer registrationStatus;

    /** 报名时间 */
    @JsonFormat(pattern = "yyyy年MM月dd日 HH:mm")
    private Date registeredAt;

    /** 确认时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date confirmedAt;

    /**
     * 参加的用户信息
     */
    private NbotEasyUser user;

    /**
     * 获取报名状态
     */
    public String getRegistrationStatusName()
    {
        if(Objects.isNull(registrationStatus)){
            return "未知状态";
        }
        return registrationStatus == 1 ? "待审核" : (registrationStatus == 2 ? "已确认" : (registrationStatus == 3 ? "已拒绝" : "已取消"));
    }




}
